from lib.ui_automation import WebUIAutomation
from config.config import init_directories, BASE_URL
import sys
import os
import argparse


def main():
    # 初始化命令行参数解析器
    parser = argparse.ArgumentParser(description='Web UI自动化测试')
    parser.add_argument('--excel', '-e',
                        help='Excel测试用例文件路径',
                        default='C:\\Users\\leixin\\Desktop\\web_test.xlsx')
    parser.add_argument('--url', '-u',
                        help='测试目标URL',
                        default=BASE_URL)

    # 解析命令行参数
    args = parser.parse_args()

    # 初始化目录
    init_directories()

    # 检查Excel文件是否存在
    if not os.path.exists(args.excel):
        print(f"错误: 找不到测试用例文件 '{args.excel}'")
        return

    try:
        # 创建自动化测试实例
        automation = WebUIAutomation(args.excel)

        # 设置基础URL
        automation.set_base_url(args.url)

        # 运行测试
        automation.run_tests()

    except Exception as e:
        print(f"测试执行失败: {str(e)}")
        sys.exit(1)


if __name__ == "__main__":
    main()
